Client-side Router Cache
When navigating between pages via <Link> or useRouter, page segments are no longer reused from the client-side router cache.
However, they are still reused during browser backward and forward navigation and for shared layouts.
以前と同じ動作にするには、next.config.js に exprimental.staleTimes を指定する必要がある
code:next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfig
概要
これによりページナビゲーションの高速化が期待できる
インメモリなので、ページ更新(router.refresh)などでクリアされる
ページアクセスだけでなく、<Link> コンポーネントや router.prefetch によってもキャッシュが生成される
prefetch を指定しなかった場合: 30 秒
prefetch={true] や router.prefetch: 5 分間
キャッシュを無効にする方法
cookies.set や cookies.delete を使用している
2. router.refresh を用いた場合